package com.zhuang.nettydemo.client;

import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;

public class MyClientHandler extends SimpleChannelInboundHandler<String> {
    protected void channelRead0(ChannelHandlerContext channelHandlerContext, String s) throws Exception {
        //服务器往客户端发的消息方法
        System.out.println("来自服务器的消息：" + s);
    }

    @Override
    public void channelActive(ChannelHandlerContext ctx) throws Exception {
        //发送消息到服务端
        //粘包: 两条或多条消息粘在一起【TCP因为优化传输的效率，所以把多条消息合成一个大的才发送】
        //分包: 一条消息被拆分成多条收到【消息体积比较大的情况下才会出现拆包】
        for (int i = 0; i < 100; i++) {
            ctx.writeAndFlush("你好，我是客户端A，" + i);
        }
    }

    @Override
    public void channelInactive(ChannelHandlerContext ctx) throws Exception {
        System.out.println("服务端断开连接....");
    }
}
